var { ReturnModel } = require('../libs/resmodel');
var { matchhistoryList, matchhistoryQueryOne, edit_active } = require('../services/matchhistory');

/**
* 获取配对详情
* @api {post} /matchhistory/queryinfo 获取配对详情
* @apiDescription 获取配对详情
* @apiName queryinfo
* @apiParam (参数) {String} id 匹配记录id
* @apiSampleRequest /matchhistory/queryinfo
* @apiGroup matchhistory-情侣配对
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       "id": "29",
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "data": {
*       "pcode": "290464549598", // 用户code
*       "visitcode": "2230464549523", // 推荐人code
*       "pinfo": {code:"290464549598",name:"张三",nickname:'xx', avator:'xxx',age:29, grender:'男',birthday:'1999/10/23',star:'天蝎座',height:175,signature:'个性签名',education:'硕士'}, // 用户信息
*       "matchcode": "张三", // 匹配人code
*       "matchinfo": {code:"290464549598",name:"张三",nickname:'xx', avator:'xxx',age:29, grender:'男',birthday:'1999/10/23',star:'天蝎座',height:175,signature:'个性签名',education:'硕士'}, // 匹配对象信息
*       "visitmatchcode": "1231231312321", //匹配对象推荐人code
*       "active": "1", // 动作 如：1： 聊天中、2： 取得联系、3：见面、4：确定关系
*       "activedes": '聊天中', // 情侣状态 如：1： 聊天中、2： 取得联系、3：见面、4：确定关系
*       "createtime": "2022-04-02 15:23:22", // 配对时间
*       },
*      "msg": "获取成功",
*      "code": 0
*   }
*/
async function queryinfo(req, res) {
    let result = await matchhistoryQueryOne(req.body.pcode);
    res.json(new ReturnModel(result));
}
/**
* 获取情侣配对列表
* @api {post} /matchhistory/list 获取情侣配对列表
* @apiDescription 推荐人查看被邀请人配对列表
* @apiName list
* @apiParam (参数) {String} pcode 推荐人code
* @apiParam (参数) {Number} pagenum 查询第几页(默认第1页)
* @apiParam (参数) {Number} pagesize 每页显示条数(默认10条)
* @apiParam (参数) {Number} active 情侣状态 如：1： 聊天中、2： 取得联系、3：线下交往、4：确定关系
* @apiParam (参数) {Object} Filter 查询条件
* @apiSampleRequest /matchhistory/list
* @apiGroup matchhistory-情侣配对
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       Filter: {
*        "invitcode": "290464549598", //  推荐人code
*        "activedes": "聊天中", //情侣状态 如：1： 聊天中、2： 取得联系、3：线下交往、4：确定关系
*        "nickname": "阿丰"
*       },
*       "pcode": "290464549598",
*       "pagenum": 1,  // 查询第几页
*       "pagesize": 10,  // 每页显示条数
*       "active": 1 // 情侣状态
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "data": {
*         "list":[{
*       "id": "12", // 记录id
*       "pcode": "290464549598", // 用户code
*       "visitcode": "2230464549523", // 推荐人code
*       "pinfo": {code:"290464549598",name:"张三",nickname:'xx', avator:'xxx',age:29, grender:'男',birthday:'1999/10/23',star:'天蝎座',height:175,signature:'个性签名',education:'硕士'}, // 用户信息
*       "matchcode": "张三", // 匹配人code
*       "minfo": {code:"290464549598",name:"张三",nickname:'xx', avator:'xxx',age:29, grender:'男',birthday:'1999/10/23',star:'天蝎座',height:175,signature:'个性签名',education:'硕士'}, // 匹配对象信息
*       "visitmatchcode": "1231231312321", //匹配对象推荐人code
*       "active": 1, // 情侣状态 如：1： 聊天中、2： 取得联系、3：线下交往、4：确定关系
*       "activedes": '聊天中', // 情侣状态 如：1： 聊天中、2： 取得联系、3：线下交往、4：确定关系
*       "createtime": "2022-04-02 15:23:22", // 配对时间
*       "updatetime": "2022-04-02 15:23:22", // 脱单/解除配对时间
*       }],
*        "total": 200,//总条数
*        "pagecount": 20,//总页数
*        }
*      "msg": "获取成功",
*      "code": 0
*   }
*/
async function list(req, res) {
    let result = await matchhistoryList(req);
    res.json(new ReturnModel(result));
}
/**
* 变更配对进度
* @api {post} /matchhistory/edit 变更配对进度
* @apiDescription 变更配对进度，如：脱单、解除配对
* @apiName edit
* @apiParam (参数) {String} id 情侣id
* @apiParam (参数) {String} active 配对状态 //1： 聊天中、2： 取得联系、3：见面、4：确定关系
* @apiSampleRequest /matchhistory/edit
* @apiGroup matchhistory-情侣配对
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       "id": 25,
*       "active": 2,
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "msg": "设置取得联系成功",
*      "code": 0
*   }
*/
async function edit(req, res) {
    let result = await edit_active(req.body);
    res.json(new ReturnModel(result));
}

module.exports = function (app) {
    let base_url = '/api/matchhistory';

    app.post(base_url + '/queryinfo', queryinfo);
    app.post(base_url + '/list', list);
    app.post(base_url + '/edit', edit);
}
